package com.wenxixuanwu.fruitstore.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wenxixuanwu.fruitstore.entity.Banner;
import com.wenxixuanwu.fruitstore.entity.Product;
import com.wenxixuanwu.fruitstore.entity.ProductVO;

import java.util.List;

/**
 * @author :小凡凡
 * @version :1.0
 * @Project :fruitstore
 * @Date :2022/4/25
 */
public interface BackProductService {
    /**
     * 查询所有商品信息
     * @return 返回商品信息的列表
     */
    List<Product> findProductAll();

    /**
     * 根据商品的id查询商品信息
     * @param id 商品的id
     * @return 返回商品的信息
     */
    Product findProductById(Integer id);

    /**
     * 查询ProductVO的商品信息
     * @return 返回商品信息列表
     */
    List<ProductVO> findProductVOAll();

    /**
     * 根据商品的id进行查询
     * @return 返回VO
     */
    ProductVO findProductVOById(Integer id);

    /**
     * 插入商品信息
     * @param product 商品
     * @return
     */
    Integer insertProduct(Product product);

    /**
     * 更新商品信息
     * @param product 商品
     * @return 返回受影响的行数
     */
    Integer updateProduct(Product product);

    /**
     * 删除商品信息
     * @param id 商品的id
     * @return 返回受影响的行数
     */
    Integer deleteProductById(Integer id);

    /**
     * 利用MyBatis
     * @param pageCode 分页代码
     * @param pageSize 分页大小
     * @return 返回分页数
     */
    Page<Product> findByPageService(Integer pageCode, Integer pageSize);

    /**
     * 下载销量榜单数据
     * @param year 年份
     * @param month 月份
     * @return 返回对应的列表
     */
    List<Product> downloadProduct(String year,String month);
}
